In general, virtualization technologies have severed the one-to-one link between physical computing devices and operating systems by abstracting physical resources into virtualized resources. Virtualization allows multiple operating system instances or application instances to exist simultaneously on a same physical machine and in isolation from one another. Virtualization also enables multiple operating system instances to share a physical device's resources, such as to share storage devices, processing devices (e.g., graphics processing units (GPUs)), networking devices, and so forth. These advances have led to the centralization of many computing resources, enabling various computing tasks to be performed “over the cloud.”
By way of example, individuals associated with an enterprise may be given accounts that allow them to access an enterprise-configured desktop interface—the desktop interface may be configured to provide productivity tools selected by the enterprise, storage hosted by the enterprise, and so on. The desktop interface associated with a given individual may also be accessible via multiple different computing devices, e.g., a desktop device at work, a laptop device at home, or a tablet device while traveling. Though accessible from these multiple different computing devices, the functionality provided by the desktop interface may be furnished largely using the processing and storage resources of the enterprise's servers, rather than resources of the computing devices the individuals interact with directly. Moreover, virtualization techniques enable the processing and storage resources of these same servers to be leveraged further to provide personal desktop interfaces simultaneously to multiple individuals of the enterprise. Advances continue to be made in virtualization technologies, such as improving the speed with which computing tasks can be completed using virtual machines or reducing the cost of implementing systems by employing virtual machines. Nonetheless, some conventional techniques for implementing virtualization can be expensive, vulnerable to security breaches, or tied to particular host-device hardware configurations. Consequently, virtualization may not be leveraged for many applications.